Шаг 29 - Перегрузка операторов.

Загрузить проект

Visual C++.Net
Visual Basic.Net
CSharp

Visual C++.Net

#using <mscorlib.dll>

using namespace System;

class  CMyClass
{
public:
CMyClass()
{
}
CMyClass(int xx,int yy)
{
	x=xx;
	y=yy;
}
CMyClass operator + (CMyClass& cm1 )
{
return  CMyClass(cm1.x+x,cm1.y+y);	
}
int x;
int y;
};



int main(void)
{
CMyClass* cm1 = new CMyClass(1,1);
CMyClass* cm2 = new CMyClass(1,1);
CMyClass cm3=*cm1+*cm2;
Console::WriteLine(cm3.x); 

}

Visual Basic.Net

Не поддерживаеться.

CSharp

namespace ConsoleApplication2
{
    using System;


	class CMyClass
	{
	public CMyClass(int xx,int yy)
	{
		x=xx;
		y=yy;
	}

	public static CMyClass operator +(CMyClass c1, CMyClass c2) 
    {
       return new CMyClass(c1.x + c2.x, c1.y + c2.y);
    }
	public int y;
	public int x;
	
	}

	
	 
    	
    public class Class1
    {

		       
        public static int Main(string[] args)
        {
			CMyClass cm = new CMyClass(1,1);
			CMyClass cm1 = new CMyClass(2,2);
			CMyClass rez=cm+cm1;
			Console.Write(rez.x);
            return 0;
        }
    }
}
Hosted by uCoz